A computer application may include executable code for performing operations on arbitrary items, e.g., data elements. Data elements may be represented in any number of ways and may include runtime objects, development objects, structures, files, databases, program structures themselves including source code, object code, binary code, etc., or any other entity for representing information. The items may be selected. Selected items may be manipulated by the operations. For example, a computer application may perform an operation upon a data file, i.e. the item, in which the file is deleted.
The computer application may provide a list of the items that can be selected for manipulation, e.g., by performance of an operation. For example, the computer application may employ a graphical user interface (GUI) to display within a main window of the GUI the list of items. The list may be presented in a table, and may include various columns to provide to a user information about the listed items. For example, each column may represent a particular category of information about the listed items. Each category may represent, e.g., a particular attribute of the item, e.g., item name, date of creation, and/or any type of information conventionally listed for each item in a particular computer application. Rows of a column may each correspond to one item. A particular row of a particular column may thereby convey information of the particular column's category with respect to the item that corresponds to the particular row.
For a list of items displayed within a window, the computer application may provide a set of operations to be performed, e.g., upon an occurrence of an event or upon user instruction. For example, a user may select all or some of the listed items and may instruct the computer application to perform an operation upon the selected items. Upon receiving the instruction, the computer application may perform the operation upon the selected items.
Typically for a particular item, only a restricted subset of operations may be applied. For example, consider an object with a number of overloaded methods and an inherited class that includes a number of additional methods. Runtime objects instantiated from the inherited class enjoy the availability of the additional methods, while runtime objects of the base class do not. As another example, a file structure may be associated certain read/write/executable permissions. Thus, the read, write and execute operations may only be applied to certain files with respect to particular users. Performance of an operation may be limited to particular items for any number of reasons. For example, the structure of a data element may inherently prohibit performance of a particular operation upon the data element, such as where performance of a mathematical operation is attempted upon a string. Restrictions on performance of an operation may be imposed, e.g., by an operating system, a computer application, etc. Within the context of this discussion, a parameter is a condition upon which performance of an operation is based.
For example, a computer application may condition performance of an operation upon conformance of an item to one or more predetermined parameters. The computer application may therefore perform the operation upon only those of the selected items that conform to the predetermined parameters. For example, a user may select 100 items of a list of items. The user may input an instruction to perform an operation for or upon the 100 items. The computer application may determine that only 70 of the selected items conform to predetermined parameters for performance of the operation. The computer application may therefore perform the operation for or upon only those 70 items that conform to the predetermined parameters.
It is conventional for the computer application to inform the user of the subset of selected items that conforms to the predetermined parameters and upon which the operation can be performed. For example, it is conventional to provide the user with a sub-window in which the 70 items are listed. The user may then choose whether to go forward with the operation. However, to ascertain how the list of the 70 items relates to the list of items displayed in the main window, the user must perform a line-by-line comparison of the two lists. Furthermore, the list does not identify the items that do not conform to the predetermined parameters. Furthermore, the user is not informed of the reason the operation is not performed on a particular item. For example, performance of an operation may be conditioned upon an item's conformance to two parameters. Thus, when an operation is not performed upon an item, the user does not know to which of the parameters the item does not conform.
In the alternative, it is also conventional to display a sub-window in which is displayed a message indicating that the operation can be performed upon only those of the selected items that conform to particular parameters. The message may identify the parameters. The user may then choose whether to go forward with the operation. After performance of the operation, the computer application may display in the message sub-window or in a different sub-window a list of the 70 items upon which the operation has been performed. In the alternative, it is also conventional for the computer application to display in the sub-window a list of all 100 selected items and include next to each listed item a mark that indicates whether or not the operation has been performed upon the item. However, even according to these alternative ways, to ascertain how the list of the 70 or 100 items relates to the list of items displayed in the main window (which may include more than the selected 100 items), the user must perform a line-by-line comparison of the two lists. Furthermore, the user is not informed of the reason the operation was not performed on a particular item. For example, the list displayed in the sub-window does not indicate whether the items excluded from the operation failed to meet the required parameters, or whether the operation was not performed due to another reason.
Accordingly, there is a need in the art for a system and method for presenting to a user information regarding which of the listed items conforms to the predetermined parameters for performance of an operation, and the particular parameters to which a particular item does not conform, such that the user can readily relate the information to the list of items.